﻿using System;
using Leo.Awesome.Attachment.Enums;
using Swashbuckle.AspNetCore.Annotations;

namespace Leo.Awesome.DictionaryManagement.Dtos
{
    [SwaggerSchema(Required = new[] { "创建或更新DTO" })]
    public class AttachmentCreateUpdateInput
    {
        /// <summary>
        /// Id
        /// </summary>
        public Guid? Id { get; set; }

        /// <summary>
        /// 附件类型
        /// </summary>
        public string Type { get; set; }

        /// <summary>
        /// 名称
        /// </summary>
        public string Filename { get; set; }

        /// <summary>
        /// 大小
        /// </summary>
        public long FileSize { get; set; }

        /// <summary>
        /// 上传者的 ID
        /// </summary>
        public Guid? UploaderId { get; set; }

        /// <summary>
        /// 存储类型
        /// </summary>
        public string StorageType { get; set; } = "Blob";

        /// <summary>
        /// 文件夹
        /// </summary>
        public FolderType FolderType { get; set; }

        /// <summary>
        /// 存储路径
        /// </summary>
        public string StoragePath { get; set; }

        /// <summary>
        /// 关联者
        /// </summary>
        public string RelatedTo { get; set; }

        /// <summary>
        /// 文件流
        /// </summary>
        public byte[] FileContext { get; set; }

        /// <summary>
        /// Md5 码
        /// </summary>
        public string MD5 { get; set; }

    }
}
